package com.stt.videoprocess.design.processor;

import com.stt.videoprocess.design.model.VideoTask;

/**
 * 视频处理器接口（装饰器模式）
 * 定义处理操作的通用规范
 */
public interface VideoProcessor {
    /**
     * 处理视频任务
     *
     * @param task 视频任务对象，包含待处理视频的信息和处理要求
     * @throws Exception 如果在视频处理过程中遇到任何错误，则抛出异常
     */
    void process(VideoTask task) throws Exception;

    /**
     * 获取视频处理器的名称
     *
     * @return 返回处理器的名称，用于标识和区分不同的处理器
     */
    String getProcessorName();

}